Compilation of Logic Programs for Restricted And-Parallelism
نویسندگان
چکیده
A variety of different techniques for executing logic programs in parallel have been proposed. One common approach is to provide new language constructs for explicitly controlling the order in which goals execute. Languages containing such constructs include Concurrent Prolog[Shapiro 86], Parlog[Clark 86], and Epilog[Wise 82, Wise 86]. An alternative approach is to have the implementation schedule goals automatically. Conery [Conery 81, Conery 87] has developed mechanisms for monitoring program variables and scheduling goals at run-time. This approach provides a great deal of parallelism, however, it can incur considerable overhead. Chang[Chang 85a, Chang 85b] schedules goals on the basis of a static analysis of the program at compile-time. This approach reduces run-time support, however, it may miss important opportunities for parallelism.
منابع مشابه
Massively parallel execution of logic programs: A static approach
A static model for the parallel execution of logic programs on MIMD distributed memory systems is presented where a refutation is implemented through a process network returned by the compilation of the logic program. The model supports Restricted-AND, OR and stream parallelism and it is integrated with a set of static analyses to optimise the process network. Altogether, the processes interact...
متن کاملSome Paradigms for Visualizing Parallel Execution of Logic Programs
This paper addresses the design of visual paradigms for observing the parallel execution of logic programs. First, an intuitive method is proposed for arriving at the design of a paradigm and its implementation as a tool for a given model of parallelism. This method is based on stepwise reñnement starting from the deñnition of basic notions such as events and observables and some precedence rel...
متن کاملSLDR-Resolution: Parallelizing Structural Recursion in Logic Programs
We introduce a new operational semantics, SLDR-resolution, for a class of recursive logic programs. We establish the soundness and completeness of SLDR-resolution by showing that one SLDR-resolution inference is equivalent to n 1 SLD-resolution inferences. SLDR-resolution facilitates parallel processing of recursive programs and can exploit parallelism that is not exploitable in SLD-resolution....
متن کاملUppsala Theses in Computing Science 26 Compilation Techniques for Prolog Compilation Techniques for Prolog
Current Prolog compilers are largely limited to optimizing a single predicate at a time. We propose two methods to express the global control of Prolog programs. The rst method transforms a Prolog program into a continuation-passing style, where all operations have explicit success and failure continuations. The second method directly constructs a control ow graph from the Prolog program. This ...
متن کاملExperiments in Extraction of Coarse Grain Parallelism from Constraint Programs
This paper reports on experimental research on extraction of coarse grain parallelism from constraint systems. Constraint speciications are compiled into task level procedural parallel programs in C. Three issues found to be important are: (i) inclusion of operations over structured types as primitives in the representation, (ii) inclusion of modularity in the constraint systems, and (iii) use ...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 1988